using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ErrorCode
{
    public enum APIEnum
    {
        /// <summary>
        /// 成功
        /// </summary>
        Success = 100,
        /// <summary>
        /// 失败
        /// </summary>
        Error = 101,
        NotFound = 102,
        OK = 103,
        InternalServerError = 104,
        BadRequest = 105,
    }
    /// <summary>
    /// 审批状态枚举
    /// </summary>
    public enum ApprovalStatus
    {
        /// <summary>
        /// 待审批
        /// </summary>
        Pending = 0,

        /// <summary>
        /// 已通过
        /// </summary>
        Approved = 1,

        /// <summary>
        /// 已拒绝
        /// </summary>
        Rejected = 2,

        /// <summary>
        /// 已撤回
        /// </summary>
        Withdrawn = 3,

        /// <summary>
        /// 已超时
        /// </summary>
        Timeout = 4
    }
    /// <summary>
    /// 订单状态枚举
    /// </summary>
    public enum OrderStatus
    {
        /// <summary>
        /// 草稿
        /// </summary>
        Draft = 1,

        /// <summary>
        /// 待审核
        /// </summary>
        Pending = 2,

        /// <summary>
        /// 已审核
        /// </summary>
        Approved = 3,

        /// <summary>
        /// 已拒绝
        /// </summary>
        Rejected = 4,

        /// <summary>
        /// 处理中
        /// </summary>
        Processing = 5,

        /// <summary>
        /// 已完成
        /// </summary>
        Completed = 6,

        /// <summary>
        /// 已取消
        /// </summary>
        Cancelled = 7
    }
    /// <summary>
    /// 操作类型枚举
    /// </summary>
    public enum OperationType
    {
        /// <summary>
        /// 入库
        /// </summary>
        StockIn = 1,

        /// <summary>
        /// 出库
        /// </summary>
        StockOut = 2,

        /// <summary>
        /// 库存调整
        /// </summary>
        Adjustment = 3,

        /// <summary>
        /// 库存盘点
        /// </summary>
        Inventory = 4,

        /// <summary>
        /// 退货入库
        /// </summary>
        ReturnIn = 5,

        /// <summary>
        /// 退货出库
        /// </summary>
        ReturnOut = 6
    }
    /// <summary>
    /// 操作状态枚举
    /// </summary>
    public enum OperationStatus
    {
        /// <summary>
        /// 待审核
        /// </summary>
        Pending = 1,

        /// <summary>
        /// 已审核
        /// </summary>
        Approved = 2,

        /// <summary>
        /// 已拒绝
        /// </summary>
        Rejected = 3,

        /// <summary>
        /// 已完成
        /// </summary>
        Completed = 4,

        /// <summary>
        /// 已取消
        /// </summary>
        Cancelled = 5
    }

    /// <summary>
    /// 工作流状态
    /// </summary>
    public enum WorkflowStatus
    {
        /// <summary>
        /// 已创建
        /// </summary>
        Created = 0,

        /// <summary>
        /// 进行中
        /// </summary>
        InProgress = 1,

        /// <summary>
        /// 已完成
        /// </summary>
        Completed = 2,

        /// <summary>
        /// 已终止
        /// </summary>
        Terminated = 3
    }

    /// <summary>
    /// 工作流步骤状态
    /// </summary>
    public enum WorkflowStepStatus
    {
        /// <summary>
        /// 待处理
        /// </summary>
        Pending = 0,

        /// <summary>
        /// 进行中
        /// </summary>
        InProgress = 1,

        /// <summary>
        /// 已完成
        /// </summary>
        Completed = 2,

        /// <summary>
        /// 已拒绝
        /// </summary>
        Rejected = 3,

        /// <summary>
        /// 已跳过
        /// </summary>
        Skipped = 4
    }

    /// <summary>
    /// 工作流步骤类型
    /// </summary>
    public enum WorkflowStepType
    {
        /// <summary>
        /// 审批
        /// </summary>
        Approval = 0,

        /// <summary>
        /// 通知
        /// </summary>
        Notification = 1,

        /// <summary>
        /// 自动任务
        /// </summary>
        AutomaticTask = 2,

        /// <summary>
        /// 条件判断
        /// </summary>
        Condition = 3,

        /// <summary>
        /// 并行处理
        /// </summary>
        Parallel = 4
    }
}
